/**
 * 拜访要求配置
 * 定义各终端类型在特定时间周期内的拜访次数要求
 */

export const VISIT_REQUIREMENTS = {
  // 终端类型对应的每月拜访次数要求
  MONTHLY_VISIT_REQUIREMENTS: {
    '普通终端': 1,
    '一般现代终端': 1,
    '加盟终端': 2,
    '直营终端': 1
  }
} as const;

/**
 * 获取指定终端类型的拜访次数要求
 * @param terminalType 终端类型
 * @returns 拜访次数要求，默认为1次
 */
export function getVisitRequirement(terminalType: string): number {
  return VISIT_REQUIREMENTS.MONTHLY_VISIT_REQUIREMENTS[terminalType as keyof typeof VISIT_REQUIREMENTS.MONTHLY_VISIT_REQUIREMENTS] || 1;
}

/**
 * 检查客户拜访是否完成要求
 * @param terminalType 终端类型
 * @param actualVisitCount 实际拜访次数
 * @returns 是否满足拜访要求
 */
export function isVisitRequirementMet(terminalType: string, actualVisitCount: number): boolean {
  const required = getVisitRequirement(terminalType);
  return actualVisitCount >= required;
}